﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SisVenda.Business;
using SisVenda.Data;
using System.Data;
using System.Collections;
using System.Reflection;
using Froggy.Data;
using SisVenda.Web.messageBox;
using SisVenda.Web.Code;

namespace SisVenda.Web.Administrador.Fn
{
    [System.ComponentModel.DataObject(true)]
    public class UsuarioFn
    {
        [System.ComponentModel.DataObjectMethod(System.ComponentModel.DataObjectMethodType.Select)]
        public DataTable ObterFuncionario()
        {
            #region SQL
            string sql = @"SELECT p.IdPessoa AS IdFuncionario, p.Nome as Funcionario
	                            FROM Pessoa p  
                                INNER JOIN Funcionario f
                                    ON f.Pessoa_IdPessoa = p.IdPessoa
                                ORDER BY p.Nome";
            #endregion

            DbCommandUtil db = new DbCommandUtil(sql);
            return db.GetDataTable();
        }

        public void AddSenhaFuncionario(Int32 idFuncionario, string userName)
        {
            Aspnet_UsersBo userss = new Aspnet_UsersBo();
            aspnet_Users users = new aspnet_Users();

            users = userss.Find(user => user.UserName == userName).First<aspnet_Users>();
            users.Pessoa_IdPessoa = idFuncionario;
            userss.Update(users);
            try
            {
                userss.SaveChanges();
                MessageBox.Show("Usuário criado com sucesso!", MessageBox.MessageType.Success);
            }
            catch
            {
                MessageBox.Show("Operação não permitida!", MessageBox.MessageType.Warning);
            }
        }

        public Int32 ObterIdFuncionario(string userName)
        {
            Aspnet_UsersBo userss = new Aspnet_UsersBo();
            aspnet_Users users = new aspnet_Users();
            users = userss.Find(user => user.UserName == userName).First<aspnet_Users>();
            return (Int32)users.Pessoa_IdPessoa;
        }
    }
}